package blog

import (
	"encoding/json"
	"time"
)

type Blog struct {
	*CreateBlogRequest
	// 文章的唯一标识符, 给程序使用
	Id int64 `json:"id"`
	// 创建时间
	CreatedAt int64 `json:"created_at"`
	// 更新时间
	UpdatedAt int64 `json:"updated_at"`
	// 发布时间
	PublishedAt int64 `json:"published_at"`
	// 文章的状态
	Status Status `json:"status"`
	// 审核时间
	AuditAt int64 `json:"audit_at"`
	// 是否审核成功
	IsAuditPass bool `json:"is_audit_pass"`
}

func NewBlog(req *CreateBlogRequest) *Blog {
	return &Blog{
		CreatedAt: time.Now().Unix(),
		CreateBlogRequest: req,
	}
}

func (b *Blog) String() string{
	j,_ := json.Marshal(b)
	return	string(j)
}

type BlogSet struct {
	// 博客的总数
	Total int64 `json:"total"`
	// 返回的一页的数据
	Items []*Blog `json:"items"`
}

func NewBlogSet() *BlogSet{
	return &BlogSet{	
		Items: []*Blog{},
	}
}